/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.senac.maisconhecimento.servlet.livros;

import br.senac.maisconhecimento.dao.CategoriaDAO;
import br.senac.maisconhecimento.dao.LivroDAO;
import br.senac.maisconhecimento.entidade.Autor;
import br.senac.maisconhecimento.entidade.Categoria;
import br.senac.maisconhecimento.entidade.Livro;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Marcus Lemos
 */
@WebServlet(name = "RemoverLivroServlet", urlPatterns = {"/RemoverLivro"})
public class RemoverLivroServlet extends HttpServlet {

    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        LivroDAO dao = new LivroDAO();
        Livro livro = ToLivro(request);
        boolean livroValido = livro != null;
        String mensagem;

        if (livroValido) {
            dao.alterar(livro);
            mensagem = "Livro removido com sucesso!";
        } else {
            mensagem = "Erro ao remover o livro!";
        }

        request.setAttribute("livroValido", livroValido);
        request.setAttribute("mensagem", mensagem);

        RequestDispatcher rd = request.getRequestDispatcher("livros/RespostaManter.jsp");
        rd.forward(request, response);
    }

    private Livro ToLivro(HttpServletRequest request) {
        Livro livro = null;

        int codigo = 0;
        LivroDAO dao = new LivroDAO();

        try {
            codigo = Integer.parseInt(request.getParameter("codigo"));
        } catch (Exception e) {
            return null;
        }

        livro = dao.consultar(codigo);
        livro.setAtivo(false);

        return livro;
    }
}
